Systems and methods for obtaining image shear and skew

ABSTRACT

In a machine-fed scanner, orientation angles of edges of an image bearing substrate are obtained and used to calculate image shear and/or skew. A running weighted average of the image skew may be kept in a memory. When a skew value is obtained for a given image, it may be determined whether the skew value is within a predetermined range. If the skew value is within the predetermined range, the skew value is used to determine an image revision to compensate for the skew, and the skew value is incorporated into the running weighted average skew. If the skew value is not within the predetermined range, it is discarded and the running weighted average skew is used to determine an appropriate image skew revision. The running weighted average of the shear may also be kept in a memory. A shear value is obtained for each image, and incorporated into the running weighted average shear. Shear revision is performed based on the running weighted average shear. A determination may be made whether the shear value for a current image is within a predetermined range, and the running weighted average shear may be updated based on the shear value for the current image if the shear value for the current image is within the predetermined range.

BACKGROUND OF THE INVENTION

[0001] 1. Field of Invention

[0002] This invention relates to obtaining image shear and/or skewvalues for performing image revisions.

[0003] 2. Description of Related Art

[0004] An affine transformation is a transformation which preserves theparallelism of lines in input and output images. One application ofaffine transformations is in image input operations, such as scanningoperations. Specifically, image input systems may have slightimperfections which result in a slight errors in the input image.

[0005]FIG. 1 shows an original image 12 on an image bearing substrate10. When the image 12 is scanned by a scanner of the type whichtransports the substrate 10 past a scan head, the scanner may impartshear and/or skew to the scanned representation of the image. “Shear” isa location dependent shifting of an image which results fromnon-perpendicularity of the motion of a substrate relative to devicesuch as a scan head. As shown in FIG. 2, this results in an image 12that is distorted, compared to the original image 12 shown in FIG. 1.Thus, a distorted image 12 is subsequently output by being printed on asubstrate 20, displayed on a screen, and/or the like.

[0006] Shear may be caused by, for example, an error in the alignment ofa scan head with respect to a document feeder chassis, an error in thealignment of a paper drive shaft relative to the document feederchassis, or the like.

[0007] “Skew” refers to an accidental, usually slight, rotation of animage that occurs due to rotation of an image bearing substrate relativeto a device such as a scan head. Most document feeders in scanners andcopiers, especially high-speed document feeders, are susceptible to atleast some degree of skew. As shown in FIG. 3, skew results in an image12 that is slightly rotated, compared to the original image 12 shown inFIG. 1. Thus, a slightly rotated image is subsequently output by beingprinted on a substrate 20, displayed on a screen, and/or the like.

SUMMARY OF THE INVENTION

[0008] When both shear and skew are to be detected for performing anaffine transformation, the step of detecting the image skew value mayinclude obtaining orientation angles of a plurality of edges of an imagebearing substrate with respect to an axis of an image processing system,and the step of detecting the image shear value may include using atleast some of the orientation angles that were obtained for detectingthe image skew value. For example, respective orientation angles ofleading, trailing, right and left edges of an image bearing substratemay be obtained with respect to an axis of the image processing system.Detecting the image shear value may include determining an angledifferential of the leading and/or trailing edges with the right and/orleft edges. Preferably, the angle differential of both the leading andtrailing edges with both the right and left edges is detected, e.g., thedifference between the average angle of the leading and trailing edgesand the average angle of the right and left edges is detected, therebyproviding better accuracy.

[0009] A running weighted average of the skew may be kept in a memory.When a skew value is obtained for a given image, it may be determinedwhether the skew value is within a predetermined range. If the skewvalue is within the predetermined range, the skew value is used todetermine an image revision to compensate for the skew, and the skewvalue is incorporated into the running weighted average. If the skewvalue is not within the predetermined range, it is discarded and therunning weighted average is used to determine an appropriate image skewrevision.

[0010] A running weighted average of the shear may also be kept in amemory. A shear value may be obtained for each image, and incorporatedinto the running weighted average. Shear revision may be performed basedon the running weighted average.

[0011] These and other objects, advantages and salient features of theinvention are described in or apparent from the following description ofexemplary embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Exemplary embodiments of the invention will be described withreference to the drawings, wherein like numerals represent like parts,and wherein:

[0013]FIG. 1 shows an original image on a substrate;

[0014]FIG. 2 shows an example of image shear;

[0015]FIG. 3 shows an example of image skew;

[0016]FIG. 4 is a functional block diagram illustrating an exemplaryembodiment of an image processing system according to the invention; and

[0017]FIG. 5 is a flowchart illustrating an exemplary method ofprocessing an image according to this invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0018] A running weighted average of the image skew detected for eachanalyzed substrate, e.g., each analyzed page, is maintained. A runningweighted average of the image shear detected for each analyzed substrateis also maintained. These running weighted averages may be used toimplement image revisions that are more reliable than image revisionsthat are performed based on set, static default values for image shearand image skew.

[0019]FIG. 4 is a functional block diagram illustrating an exemplaryembodiment of an image processing system 100 according to the invention.An input/output interface 110 of the image processing system 100 isconnected to an image data source 200 via a link 210, and to an imagedata sink 300 via a link 310.

[0020] The image data source 200 typically is or includes a scanner ofthe type that transports an image-bearing substrate past a scan head.However, the image data source 200 also may be or include any otherknown or later developed image input device that potentially introducesshear and/or skew into an image. The image data source 200 can beintegrated with the image processing system 100, as in a digital copierhaving an integrated scanner. Alternatively, the image data source 200can be connected to the image processing system 100 over a connectiondevice, such as a direct wire connection, a modem, a local area network,a wide area network, an intranet, the Internet, any other distributedprocessing network, or any other known or later developed connectiondevice.

[0021] The image data sink 300 can be any device that is capable ofoutputting or storing the processed data generated by the imageprocessing system 100, such as a printer, a copier or other imageforming devices, a facsimile device, a display device, a memory, or thelike.

[0022] The links 210 and 310 can be a direct link, or a wired, wirelessor optical link to a network (not shown). The network can be a localarea network, a wide area network, an intranet, the Internet, or anyother distributed processing and storage network.

[0023] The image processing system 100 includes a substrate orientationdetection device 120, a shear detection device 130, a skew detectiondevice 140, an image revision device 150, a controller 160 and a memory170, which are interconnected via a data/control bus 190.

[0024] The substrate orientation detection device 120 may be any knownor later developed device that obtains the orientation of an imagebearing substrate. In embodiments, the substrate orientation detectiondevice 120 obtains angles of edges of the substrate with respect to anaxis of the processing system, such as an axis of a scan head, and thusincludes or is connected to sensors (not shown) for detecting thesubstrate edges. Such devices for obtaining angles of substrate edgesare known in the art.

[0025] The shear detection device 130 obtains an image shear value basedon the substrate orientation information obtained by the substrateorientation detection device 120, and uses the obtained value to updatea running weighted average shear stored in the memory 170. Thedetermination and use of the running weighted average shear aredescribed in detail below.

[0026] Although shear varies from system to system, the mechanicalproperties of the system that cause shear are relatively unchanging overtime. Therefore, the shear introduced into images by a given system isvery similar from image to image. Accordingly, once the average shearimparted to images by a given system is known, that average shear may beused to determine an appropriate revision to be applied to the imagethrough image processing.

[0027] There will typically be noise included in the edge anglemeasurements obtained by the substrate orientation detection device 120,due, e.g., to edge raggedness of the paper, finite sample points, videonoise, and/or paper noise. Therefore, if edge angle measurements of agiven substrate bearing an image are used to calculate an image revisionfor that image, the calculated revision may not be entirely accurate orappropriate. Additionally, the substrate orientation detection device120 may sometimes totally fail to detect an edge. For example, if theimage has no margin, but runs right up to the edge of the image bearingsubstrate, the substrate orientation detection device 120 may fail todetect the edge.

[0028] Accordingly, in preferred embodiments, edge angle measurements ofa given substrate bearing an image are not directly used to calculate animage shear revision for that image. Rather, the edge angle measurementsare used to obtain an image shear value that is incorporated into arunning weighted average shear of images that have been processed by theimage processing system 100, and this running weighted average is usedto determine an appropriate shear revision.

[0029] In order for the running weighted average shear to form anaccurate basis for determining a shear revision, two assumptions aremade. First, it is assumed that there is no differential bias, e.g.,that there is no bias in the left and right edge angles that isdifferent from a bias in the leading and trailing edge angles. There maybe a bias in all measurements without causing a problem in the sheardetection, as long as the bias is the same. It should be noted, however,that any bias would cause problems with skew calculations, and wouldneed to be addressed separately.

[0030] Second, it is assumed that the noise appearing in the edge anglemeasurements is independent from one substrate to the next, i.e., thatthe noise related to one substrate has nothing to do with the noiserelated to the previous substrate.

[0031] If the actual image shear value is within a predetermined range,then the actual image shear value is used to update the running weightedaverage shear. An example of an acceptable range might be a shear anglerange of −2 to +2 milliradians. The running weighted average shear canbe updated over time by, for example, the following equation:

μ_(shear)(k+1)=αμ_(shear)(k)+(1−α)((θ_(leading)+θ_(trailing))/2−(θ_(left)+θ_(right)−180)/2)

[0032] where μ_(shear) (k) is an estimate of shear for a kth imagesubstrate, μ_(shear) (0) is an initial estimate of shear, αis aweighting, θ_(leading) is an orientation angle of the leading edge ofthe image bearing substrate with respect to the axis of the system,θ_(trailing) is an orientation angle of the trailing edge of the imagebearing substrate with respect to the axis of the system, θ_(left) is anorientation angle of the left edge of the image bearing substrate withrespect to the axis of the system, and θ_(right) is an orientation angleof the right edge of the image bearing substrate with respect to theaxis of the system.

[0033] The initial estimate of the shear is typically zero. Theweighting α is a number less than one, preferably only slightly lessthan one, such as 0.99. In order to have fast learning, the weighting αcan be dynamic, such as:

α=min(0.99, 1−1/(k +1)).

[0034] The running weighted average shear determined as described above,or by any other suitable formula, is maintained in a running weightedaverage shear portion 174 of the memory 170. It will be appreciatedthat, when many images have been analyzed, it makes negligibledifference whether the running weighted average shear is updated beforeor after a given image has been revised for shear.

[0035] The skew detection device 140 obtains an image skew value basedon the substrate orientation information obtained by the substrateorientation detection device 120, and uses the obtained value to updatea default skew stored in the memory 170. The determination and use ofthe default skew is described in detail below.

[0036] In contrast to shear, skew typically does not stay constant overtime. Therefore, it is preferable to use the actual skew value obtainedfor a given image to determine an appropriate skew revision for thatimage. However, there are cases in which a reliable skew value cannot bedetermined for a given image. In these cases, a default skew value maybe used.

[0037] To make the default value more accurate, the image processingsystem 100 maintains a default skew based on a running weighted averageskew, and uses the current value stored for the default skew if it isdetermined that the actual skew value is not reliable.

[0038] Accordingly, when the skew detection device 140 obtains an actualimage skew value, it is determined whether this value is within apredetermined range of values. The predetermined range may be set asappropriate for a given printer. One example of an acceptable rangemight be a skew angle range of −15 to +15 milliradians. Thedetermination of whether the image skew value is within thepredetermined range may be made by the skew detection device 140 itself,by the image revision device 150, or by the controller 160.

[0039] If the image skew value is within the predetermined range, it isused as a basis for image revision by the image revision device 150, asdescribed below, and is also used to update a default skew value storedin a default skew location 172 of the memory 170.

[0040] The image revision device 150 implements appropriate imagerevisions to an image based on the image shear value and the image skewvalue. As described above, the determined shear value of a current imageis not used to determine a revision—rather, the running weighted averageshear is used for this purpose. Therefore, to revise for shear, theimage revision device 150 obtains the current value of μ_(shear) storedin the running weighted average shear portion 174 of the memory 170, anddetermines an appropriate image revision based on this value. Forexample, an affine transformation to apply an appropriate revision maybe given as: $\left\lbrack \quad \begin{matrix}x \\y\end{matrix}\quad \right\rbrack = {\left\lbrack \quad \begin{matrix}1 & {{- \mu}\quad {{shear}/2}} \\{{- \mu}\quad {{shear}/2}} & 1\end{matrix}\quad \right\rbrack\left\lbrack \quad \begin{matrix}x \\y\end{matrix}\quad \right\rbrack}$

[0041] where x represents the pixel location in the fast scan directionand y represents the scan line number in the slow scan direction.

[0042] To revise the image for skew, the image revision device 150determines an appropriate revision based on the actual skew detected forthat image if the actual image skew is within the predetermined range asdescribed above. Otherwise, the image revision device 150 retrieves thecurrent value of the running weighted average skew from the runningweighted average skew location 172 of the memory 170, and determines anappropriate revision based on the default skew.

[0043] Additionally, if the actual image skew value is within thepredetermined range, then the actual image skew value is used to updatethe running weighted average skew. The update calculation may be givenby, for example:

μ_(skew)(k+1)=αμ_(skew)(k)+(1−α)((θ_(left)+θ_(right)+θ_(leading)+θ_(trailing)−180)/4)

[0044] where μ_(skew) (k) is an estimate of skew for a kth imagesubstrate, μ_(skew) (0) is an initial estimate of skew, α is aweighting, θ_(leading) is an orientation angle of the leading edge ofthe image bearing substrate with respect to the axis of the system,θ_(trailing) is an orientation angle of the trailing edge of the imagebearing substrate with respect to the axis of the system, θ_(left) is anorientation angle of the left edge of the image bearing substrate withrespect to the axis of the system, and θ_(right) is an orientation angleof the right edge of the image bearing substrate with respect to theaxis of the system.

[0045] The initial estimate of the skew is typically zero. The weightingα is a number less than one, preferably only slightly less than one,such as 0.99. In order to have fast learning, the weighting α can bedynamic, such as:

α=min(0.99, 1−1/(k+1)).

[0046] It will be appreciated that, while the running weighted averageskew will be quite reliable over the long term, it will be less reliablein the early stages of use, i.e., before an adequate number of imageshave been analyzed to provide a good statistical base. Therefore, in theearly stages of use, a factory-set default or the like may be used asthe running weighted average skew value, based on, for example, actualpre-testing of each system or on historical data of like systems. A skewvalue of 0 is typically used as an initial value.

[0047] When an appropriate skew value has been obtained, the imagerevision device 150 determines an appropriate skew revision, e.g., bysimply taking the opposite of the obtained skew value, and revises theimage through image processing according to known techniques.

[0048] Since shear and skew are influenced by the condition of thesubstrate transport system, e.g., by the condition of paper feed rollersor the like, the shear and skew algorithms should be restarted if thesubstrate transport system is altered by, e.g., replacing feed rollersor the like. Furthermore, if the system includes document input traysthat have components, e.g., feed rollers, that form part of the actualsubstrate transport system when installed, then the shear and skewalgorithms may need to be restarted whenever the input trays arechanged.

[0049] As described above, an analysis may be performed for each imageshear value to determine whether it is within a predetermined range.This is preferred. However, in some embodiments, it may be acceptable tosimply use every image shear value detected to update the runningweighted average shear, without analyzing each shear value to determinewhether it is within a predetermined range.

[0050] It should be appreciated that the same set of edge anglemeasurements may be used for both the skew revision determination andthe shear revision determination.

[0051] By performing the above-described operations, the image revisiondevice 150 can automatically determine shear and/or skew revisions,without user intervention.

[0052] The controller 160 controls the operation of other components ofthe image processing system 100, performs any necessary calculations andexecutes any necessary programs for implementing the processes of theimage processing system 100 and its individual components, and controlsthe flow of data to and from other components of the image processingsystem 100 as needed.

[0053] The memory 170 may serve as a buffer for information coming intoor going out of the image processing system 100, may store any necessaryprograms and/or data for implementing the functions of the imageprocessing system 100, and/or may store data at various stages ofprocessing. The memory 170 includes a default skew storage location 172and a running weighted average shear storage location 174, as describedabove. The memory 170 may also include a separate storage location (notshown) for average skew, when average skew and default skew aremaintained separately as described within the examples given above.

[0054] Furthermore, it should be appreciated that the memory 170, whiledepicted as a single entity, may actually be distributed, includingseparate portions outside and/or inside the image processing system 100.For example, one or more of the substrate orientation detection device120, the shear detection device 130, the skew detection device 140 andthe image revision device 150 may have its own memory.

[0055] Alterable portions of the memory 170 are, in various exemplaryembodiments, implemented using static or dynamic RAM. However, thememory 170 can also be implemented using a floppy disk and disk drive, awriteable optical disk and disk drive, a hard drive, flash memory or thelike. The generally static portions of the memory 170 are, in variousexemplary embodiments, implemented using ROM. However, the staticportions can also be implemented using other non-volatile memory, suchas PROM, EPROM, EEPROM, an optical ROM disk, such as a CD-ROM orDVD-ROM, and disk drive, flash memory or other alterable memory, asindicated above, or the like.

[0056] It should be understood that each of the circuits shown in FIG. 4can be implemented as portions of a suitably programmed general purposecomputer. Alternatively, each of the circuits shown in FIG. 4 can beimplemented as physically distinct hardware circuits within an ASIC, orusing a FPGA, a PDL, a PLA or a PAL, or using discrete logic elements ordiscrete circuit elements. The particular form each of the circuitsshown in FIG. 4 will take is a design choice and will be obvious andpredictable to those skilled in the art.

[0057]FIG. 5 is a flowchart illustrating an exemplary method ofprocessing an image according to this invention. Beginning in stepS1000, the process continues to step S1100, where image data of an imageis obtained and the orientations of one or more edges of an imagebearing substrate bearing the image are detected. At least one edge,typically the leading edge, is used, and more than one edge will be usedif both shear and skew revisions are to be performed. The process thencontinues to step S1200.

[0058] In step S1200, a running weighted average shear value and arunning weighted average skew value are obtained from memory. Theprocess continues to step S1300 and determines the skew of the imagebased on the orientation of one or more of the edge orientationsdetected in step S1600. The process continues to step S1400 anddetermines the shear of the image based on the edge orientationsdetected in step S1100. The process then continues to step S1500.

[0059] In step S1500, a determination is made whether the skewdetermined in step S1300 is within a predetermined range. If the skew iswithin the predetermined range, the process continues to step S1600.Otherwise, the process jumps to step S1700.

[0060] In step S1600, the image is revised to adjust for skew using theskew determined in step S1300. The process then continues to step S1800.

[0061] In step S1700, the image is revised to adjust for skew using therunning weighted average skew obtained in step S1200. The process thencontinues to step S1800.

[0062] In step S1800, the image is revised to adjust for shear using theaverage shear obtained in step S1200. The process continues to stepS1900, where it is determined whether the shear determined in S1400 iswithin a predetermined range. If the determined shear is within thepredetermined range, the process continues to step S2000. Otherwise, theprocess jumps to step S2100.

[0063] In step S2000, the running weighted average shear is updatedusing the shear determined in step S1400, and the updated value replacesthe previous value in the memory. The process then continues to stepS2100, where the revised image is output, and then continues to stepS2200 and returns. The process is then repeated for the next image.

[0064] It should be appreciated that the steps of the process are notlimited to the order shown and described. For example, the average shearmay be obtained after step S1300, step S1400, step S1500, step S1600and/or step S1500, or during step S1800. The average skew may beobtained after step S1300, step S1400 and/or step S1500. As otherexamples, the order of determining skew and shear may be reversed, andthe order of revising for skew and shear may be reversed. It should alsobe appreciated that one or more steps may be omitted depending oncircumstances. For example, in some embodiments, only skew may bedetected/revised for, and in some embodiments, only shear may bedetected/revised for. In such embodiments, various ones of the stepsshown and described in connection with FIG. 5, or portions of variousones of the steps, will clearly not be performed.

[0065] The image processing system 100 of FIG. 1 is preferablyimplemented on a programmed general purpose computer. However, the imageprocessing system 100 can also be implemented on a special purposecomputer, a programmed micro-processor or micro-controller andperipheral integrated circuit element, an ASIC or other integratedcircuit, a digital signal processor, a hard-wired electronic or logiccircuit such as a discrete element circuit, a programmable logic devicesuch as a PLD, PLA, FPGA, PAL, or the like. In general, any devicecapable of implementing a finite state machine that is in turn capableof implementing the flowchart shown in FIG. 5, or appropriate portionsthereof, can be used to implement the image processing device accordingto this invention.

[0066] Furthermore, the disclosed methods may be readily implemented insoftware using object or object-oriented software developmentenvironments that provide portable source code that can be used on avariety of computer or workstation hardware platforms. Alternatively,appropriate portions of the disclosed image processing system 100 may beimplemented partially or fully in hardware using standard logic circuitsor a VLSI design. Whether software or hardware is used to implement thesystems in accordance with this invention is dependent on the speedand/or efficiency requirements of the system, the particular function,and the particular software or hardware systems or microprocessor ormicrocomputer systems being utilized. The processing systems and methodsdescribed above, however, can be readily implemented in hardware orsoftware using any known or later developed systems or structures,devices and/or software by those skilled in the applicable art withoutundue experimentation from the functional description provided hereintogether with a general knowledge of the computer arts.

[0067] Moreover, the disclosed methods may be readily implemented assoftware executed on a programmed general purpose computer, a specialpurpose computer, a micro-processor, or the like. In this case, themethods and systems of this invention can be implemented as a routineembedded on a personal computer or as a resource residing on a server orworkstation, such as a routine embedded in a photocopier, a colorphotocopier, a printer driver, a scanner, or the like. The systems andmethods can also be implemented by physical incorporation into asoftware and/or hardware system, such as the hardware and softwaresystem of a photocopier or a dedicated image processing system.

[0068] While the invention has been described in conjunction with thespecific embodiments described above, many equivalent alternatives,modifications and variations may become apparent to those skilled in theart when given this disclosure. Accordingly, the exemplary embodimentsof the invention as set forth above are considered to be illustrativeand not limiting. Various changes to the described embodiments may bemade without departing from the spirit and scope of the invention.

[0069] For example, while the foregoing description has been primarilyintended for application to scanning systems, principles of theinvention may apply to detecting/revising for skew and/or shear inmarking systems, such as printers, and such applications are consideredto be within the spirit and scope of the invention. Those skilled in theart will appreciate that, for application in marking systems, a scanhead would need to be present in the system, positioned downstream ofthe marking head, to detect the shear and/or skew of the marked imageand feed back this information upstream of the marking head. Thefed-back information could then be used to revise the image data forsubsequently marked images.

What is claimed is:
 1. A method of performing an affine transformationincluding at least one of a shear revision and a skew revision in animage processing system that processes an image, the method comprising:obtaining at least one of an image shear value and an image skew value;determining whether the least one of the image shear value and the imageskew value is within a predetermined range; obtaining at least one of aweighted average shear value and a weighted average skew value from amemory device; updating the at least one of the average shear value andthe average skew value based on the at least one of the image shearvalue and the image skew value if the at least one of the image shearvalue and the image skew value is within a predetermined range; andstoring the updated at least one of the average shear value and theaverage skew value in the memory device.
 2. The method of claim 1,wherein the step of obtaining includes both obtaining the image skewvalue and obtaining the image shear value.
 3. The method of claim 2,wherein the step of updating includes updating both the average shearvalue and the average skew value based on the image shear value and theimage skew value, respectively, if both the image shear value and theimage skew value are within respective predetermined ranges.
 4. Themethod of claim 1, wherein, when the step of obtaining includesobtaining the image skew value, the method further comprises:automatically revising the image based on the: image skew value if theimage skew value is within the predetermined range; and automaticallyrevising the image based on the average skew value if the image skewvalue is not within the predetermined range.
 5. The method of claim 1,wherein, when the step of obtaining includes obtaining the image shearvalue, the method further comprises: automatically revising the imagebased on the average skew value.
 6. The method of claim 1, wherein: thestep of obtaining includes both obtaining the image skew value andobtaining the image shear value; the step of obtaining the image skewvalue comprises obtaining orientation angles of a plurality of edges ofan image bearing substrate with respect to an axis of the imageprocessing system; and the step of obtaining the image shear valuecomprises using at least some of the orientation angles that wereobtained for obtaining the image skew value.
 7. The method of claim 1,wherein, when the step of obtaining includes obtaining the image shearvalue, the step of obtaining the image shear value comprises: obtainingrespective orientation angles of leading, trailing, right and left edgesof an image bearing substrate with respect to an axis of the imageprocessing system; and determining the image shear value based on therespective orientation angles of the leading, trailing, right and leftedges.
 8. The method of claim 7, wherein determining the image shearvalue comprises determining an angle differential of the leading and/ortrailing edges with the right and/or left edges.
 9. The method accordingto claim 1, wherein the image processing system comprises a scanner. 10.A system that performs an affine transformation including at least oneof a shear revision and a skew revision in an image processing systemthat processes an image, the system comprising a controller that:obtains at least one of an image shear value and an image skew value;determines whether the least one of the image shear value and the imageskew value is within a predetermined range; obtains at least one of aweighted average shear value and a weighted average skew value from amemory device; updates the at least one of the average shear value andthe average skew value based on the at least one of the image shearvalue and the image skew value if the at least one of the image shearvalue and the image skew value is within a predetermined range; andstores the updated at least one of the average shear value and theaverage skew value in the memory device.
 11. The system of claim 10,wherein the controller obtains both the image skew value and the imageshear value.
 12. The system of claim 11, wherein the controller updatesboth the average shear value and the average skew value based on theimage shear value and the image skew value, respectively, if both theimage shear value and the image skew value are within respectivepredetermined ranges.
 13. The system of claim 10, wherein, when thecontroller obtains the image skew value, the controller further:automatically revises the image based on the image skew value if theimage skew value is within the predetermined range; and automaticallyrevises the image based on the average skew value if the image skewvalue is not within the predetermined range.
 14. The system of claim 10,wherein, when the controller obtains the image shear value, thecontroller further: automatically revises the image based on the averageskew value.
 15. The system of claim 10, wherein: the controller obtainsboth the image skew value and the image shear value; the controllerobtains the image skew value based on orientation angles of a pluralityof edges of an image bearing substrate with respect to an axis of theimage processing system; and the controller obtains the image shearvalue using at least some of the orientation angles.
 16. The system ofclaim 10, wherein, in obtaining the image shear value, the controller:obtains respective orientation angles of leading, trailing, right andleft edges of an image bearing substrate with respect to an axis of theimage processing system; and determines the image shear value based onthe respective orientation angles of the leading, trailing, right andleft edges.
 17. The system of claim 16, wherein, in obtaining the imageshear value, the controller further: determines an angle differential ofthe leading and/or trailing edges with the right and/or left edges. 18.A document processing device incorporating the system according to claim10.
 19. The document processing device of claim 18, wherein the documentprocessing device is a scanner.
 20. The document processing device ofclaim 18, wherein the document processing device is a digitalphotocopier.
 21. A storage medium on which is recorded a program forimplementing the method of claim 1.